<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>MiXiM: TimeMappingIterator&lt; Interpolator &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">MiXiM
   &#160;<span id="projectnumber">2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('a00213.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">TimeMappingIterator&lt; Interpolator &gt; Class Template Reference<div class="ingroups"><a class="el" href="a00519.html">mapping - classes representing mathematical mappings</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="TimeMappingIterator" --><!-- doxytag: inherits="MappingIterator" -->
<p>Provides an implementation of the MappingIterator- Interface which is able to iterate over TimeMappings.  
 <a href="a00213.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00300_source.html">MappingUtils.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for TimeMappingIterator&lt; Interpolator &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="a01045.png" border="0" usemap="#TimeMappingIterator_3_01Interpolator_01_4_inherit__map" alt="Inheritance graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for TimeMappingIterator&lt; Interpolator &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="a01046.png" border="0" usemap="#TimeMappingIterator_3_01Interpolator_01_4_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a01047.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bdf656d6e53fda33b555b0c100af6ff"></a><!-- doxytag: member="TimeMappingIterator::TimeMappingIterator" ref="a0bdf656d6e53fda33b555b0c100af6ff" args="(const iterator &amp;it)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a0bdf656d6e53fda33b555b0c100af6ff">TimeMappingIterator</a> (const iterator &amp;it)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the Iterator to use the passed InterpolateableMapIterator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afea15898187a8ce372f31fc1b6ec9f9d"></a><!-- doxytag: member="TimeMappingIterator::TimeMappingIterator" ref="afea15898187a8ce372f31fc1b6ec9f9d" args="(const TimeMappingIterator&lt; Interpolator &gt; &amp;o)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>TimeMappingIterator</b> (const <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt; &amp;o)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a41457ef9679298443d01dd5d29d63864">jumpTo</a> (const <a class="el" href="a00013.html">Argument</a> &amp;pos)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lets the iterator point to the passed position.  <a href="#a41457ef9679298443d01dd5d29d63864"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#adf215619550c90677bb8784e61813c45">iterateTo</a> (const <a class="el" href="a00013.html">Argument</a> &amp;pos)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterates to the specified position. This method should be used if the new position is near the current position.  <a href="#adf215619550c90677bb8784e61813c45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#aa12e17f8a08312b3661671c1c2b6c4ea">next</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterates to the next position of the function.  <a href="#aa12e17f8a08312b3661671c1c2b6c4ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a787c682f86d90d77fddc92f4045639b0">inRange</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the current position of the iterator is in range of the function.  <a href="#a787c682f86d90d77fddc92f4045639b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00013.html">Argument</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#ab9eb7cfe03f970af00ce999161dc8077">getPosition</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current position of the iterator.  <a href="#ab9eb7cfe03f970af00ce999161dc8077"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00013.html">Argument</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a19cc52d765cc946a004c87e92ebc659a">getNextPosition</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the next position a call to "next()" would jump to.  <a href="#a19cc52d765cc946a004c87e92ebc659a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual mapped_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a29e9cd7dbc9096f8694739faaa3450b1">getValue</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of the function at the current position.  <a href="#a29e9cd7dbc9096f8694739faaa3450b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#ac7a2b12c7ac068980d72b374d2ea4182">jumpToBegin</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lets the iterator point to the begin of the mapping.  <a href="#ac7a2b12c7ac068980d72b374d2ea4182"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#abac41f2fb9ad8d503df9d8c27d3d6340">hasNext</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the iterator has a next value inside its range a call to "next()" can jump to.  <a href="#abac41f2fb9ad8d503df9d8c27d3d6340"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#ac4eef2a5a0b2c899e270048c86d6ec66">setValue</a> (argument_value_cref_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the value of the function at the current position.  <a href="#ac4eef2a5a0b2c899e270048c86d6ec66"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61386f0c76f3a08c1d35b46924955212"></a><!-- doxytag: member="TimeMappingIterator::interpolator_map_type" ref="a61386f0c76f3a08c1d35b46924955212" args="" -->
typedef <a class="el" href="a00110.html">InterpolateableMap</a><br class="typebreak"/>
&lt; Interpolator&lt; std::map<br class="typebreak"/>
&lt; simtime_t, argument_value_t &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a61386f0c76f3a08c1d35b46924955212">interpolator_map_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The templated <a class="el" href="a00110.html" title="Represents a std::map which is able to interpolate.">InterpolateableMap</a> the underlying <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a> uses std::map as storage type. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a664b59f81dcbbb62cdca0800d13a7a8e"></a><!-- doxytag: member="TimeMappingIterator::interpolator_type" ref="a664b59f81dcbbb62cdca0800d13a7a8e" args="" -->
typedef <br class="typebreak"/>
interpolator_map_type::interpolator_type&#160;</td><td class="memItemRight" valign="bottom"><b>interpolator_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c5c546c73e7faaccfc94b2e13d8fec1"></a><!-- doxytag: member="TimeMappingIterator::mapped_type" ref="a3c5c546c73e7faaccfc94b2e13d8fec1" args="" -->
typedef <br class="typebreak"/>
interpolator_map_type::mapped_type&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f7b37f70b736b69dc5c19341685958e"></a><!-- doxytag: member="TimeMappingIterator::iterator" ref="a0f7b37f70b736b69dc5c19341685958e" args="" -->
typedef <br class="typebreak"/>
interpolator_map_type::iterator_intpl&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd8d7a3a42b56a8644e063da708c3e09"></a><!-- doxytag: member="TimeMappingIterator::const_iterator" ref="afd8d7a3a42b56a8644e063da708c3e09" args="" -->
typedef <br class="typebreak"/>
<a class="el" href="a00057.html">interpolator_map_type::const_iterator_intpl</a>&#160;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a9382671669207404a7edba9469145e"></a><!-- doxytag: member="TimeMappingIterator::updateNextPos" ref="a1a9382671669207404a7edba9469145e" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>updateNextPos</b> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a178fa9015e993aa264bc1351b218431a"></a><!-- doxytag: member="TimeMappingIterator::valueIt" ref="a178fa9015e993aa264bc1351b218431a" args="" -->
iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">valueIt</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the current position iterator inside the <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9dbee2a6ce9ba1d26d8e2cd82c413f2"></a><!-- doxytag: member="TimeMappingIterator::position" ref="af9dbee2a6ce9ba1d26d8e2cd82c413f2" args="" -->
<a class="el" href="a00013.html">Argument</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2">position</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the current position of the iterator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a228df0793fb7486e617aeb9ba6540863"></a><!-- doxytag: member="TimeMappingIterator::nextPosition" ref="a228df0793fb7486e617aeb9ba6540863" args="" -->
<a class="el" href="a00013.html">Argument</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#a228df0793fb7486e617aeb9ba6540863">nextPosition</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the next position a call of "next()" would jump to. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00213.html#ac8e1d2adb44399eb29c4b0fc4f84a142">isStepMapping</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores if this mapping represents a step function.  <a href="#ac8e1d2adb44399eb29c4b0fc4f84a142"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79417d5433894eb05e64574c3c8a3090"></a><!-- doxytag: member="TimeMappingIterator::atPreStep" ref="a79417d5433894eb05e64574c3c8a3090" args="" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><b>atPreStep</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;template&lt; typename &gt; class Interpolator&gt;<br/>
class TimeMappingIterator&lt; Interpolator &gt;</h3>

<p>Provides an implementation of the MappingIterator- Interface which is able to iterate over TimeMappings. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Karl Wessel </dd></dl>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a19cc52d765cc946a004c87e92ebc659a"></a><!-- doxytag: member="TimeMappingIterator::getNextPosition" ref="a19cc52d765cc946a004c87e92ebc659a" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00013.html">Argument</a>&amp; <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::getNextPosition </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the next position a call to "next()" would jump to. </p>
<p>This method has constant complexity. </p>

<p>Implements <a class="el" href="a00059.html#a1f4cae3b170754a76049b8e81b2e3c07">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00213.html#a228df0793fb7486e617aeb9ba6540863">TimeMappingIterator&lt; Interpolator &gt;::nextPosition</a>.</p>
<div class="fragment"><pre class="fragment">                                                  {
    <span class="keywordflow">return</span> <a class="code" href="a00213.html#a228df0793fb7486e617aeb9ba6540863" title="Stores the next position a call of &quot;next()&quot; would jump to.">nextPosition</a>;
  }
</pre></div>
</div>
</div>
<a class="anchor" id="ab9eb7cfe03f970af00ce999161dc8077"></a><!-- doxytag: member="TimeMappingIterator::getPosition" ref="ab9eb7cfe03f970af00ce999161dc8077" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00013.html">Argument</a>&amp; <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::getPosition </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the current position of the iterator. </p>
<p>This method has constant complexity. </p>

<p>Implements <a class="el" href="a00059.html#a047e853613d5a19ff34526d0cff8fcf9">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2">TimeMappingIterator&lt; Interpolator &gt;::position</a>.</p>
<div class="fragment"><pre class="fragment">                                              {
    <span class="keywordflow">return</span> <a class="code" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2" title="Stores the current position of the iterator.">position</a>;
  }
</pre></div>
</div>
</div>
<a class="anchor" id="a29e9cd7dbc9096f8694739faaa3450b1"></a><!-- doxytag: member="TimeMappingIterator::getValue" ref="a29e9cd7dbc9096f8694739faaa3450b1" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual mapped_type <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::getValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of the function at the current position. </p>
<p>This method has constant complexity. </p>

<p>Implements <a class="el" href="a00059.html#ad4419c259e747867f003d07d62d4259f">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                                       {
    <span class="keywordflow">return</span> *<a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.getValue();
  }
</pre></div>
</div>
</div>
<a class="anchor" id="abac41f2fb9ad8d503df9d8c27d3d6340"></a><!-- doxytag: member="TimeMappingIterator::hasNext" ref="abac41f2fb9ad8d503df9d8c27d3d6340" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::hasNext </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the iterator has a next value inside its range a call to "next()" can jump to. </p>
<p>Constant complexity. </p>

<p>Implements <a class="el" href="a00059.html#ad4bac7233c154b7086c6124d2e21be49">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                                 {
      <span class="keywordflow">return</span> <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.hasNext();
    }
</pre></div>
</div>
</div>
<a class="anchor" id="a787c682f86d90d77fddc92f4045639b0"></a><!-- doxytag: member="TimeMappingIterator::inRange" ref="a787c682f86d90d77fddc92f4045639b0" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::inRange </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the current position of the iterator is in range of the function. </p>
<p>This method should be used as end-condition when iterating over the function with the "next()" method.</p>
<p>THis method has constant complexity. </p>

<p>Implements <a class="el" href="a00059.html#a4a6348a453418da95978e570fec046fc">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                               {
    <span class="keywordflow">return</span> <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.inRange();
  }
</pre></div>
</div>
</div>
<a class="anchor" id="adf215619550c90677bb8784e61813c45"></a><!-- doxytag: member="TimeMappingIterator::iterateTo" ref="adf215619550c90677bb8784e61813c45" args="(const Argument &amp;pos)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::iterateTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00013.html">Argument</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Iterates to the specified position. This method should be used if the new position is near the current position. </p>
<p>The passed position should compared bigger than the current position.</p>
<p>This method has linear complexity over the number of key-entries between the current position and the passed position. So if the passed position is near the current position the complexity is nearly constant. </p>

<p>Implements <a class="el" href="a00059.html#a607d741e2d841265851a85670f247c46">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a">Argument::getTime()</a>, <a class="el" href="a00213.html#a228df0793fb7486e617aeb9ba6540863">TimeMappingIterator&lt; Interpolator &gt;::nextPosition</a>, <a class="el" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2">TimeMappingIterator&lt; Interpolator &gt;::position</a>, <a class="el" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9">Argument::setTime()</a>, and <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                                      {
    atPreStep = <span class="keyword">false</span>;
    <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.iterateTo(pos.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>());
    <a class="code" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2" title="Stores the current position of the iterator.">position</a>.<a class="code" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9" title="Changes the time value of this argument.">setTime</a>(pos.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>());
    <a class="code" href="a00213.html#a228df0793fb7486e617aeb9ba6540863" title="Stores the next position a call of &quot;next()&quot; would jump to.">nextPosition</a>.<a class="code" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9" title="Changes the time value of this argument.">setTime</a>(<a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.getNextPosition());
  }
</pre></div>
</div>
</div>
<a class="anchor" id="a41457ef9679298443d01dd5d29d63864"></a><!-- doxytag: member="TimeMappingIterator::jumpTo" ref="a41457ef9679298443d01dd5d29d63864" args="(const Argument &amp;pos)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::jumpTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00013.html">Argument</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lets the iterator point to the passed position. </p>
<p>The passed new position can be at arbitrary places.</p>
<p>This method has logarithmic complexity. </p>

<p>Implements <a class="el" href="a00059.html#ae3cdbe2115d0e87af0da549b675f2bf8">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a">Argument::getTime()</a>, <a class="el" href="a00213.html#a228df0793fb7486e617aeb9ba6540863">TimeMappingIterator&lt; Interpolator &gt;::nextPosition</a>, <a class="el" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2">TimeMappingIterator&lt; Interpolator &gt;::position</a>, <a class="el" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9">Argument::setTime()</a>, and <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                                   {
    atPreStep = <span class="keyword">false</span>;
    <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.jumpTo(pos.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>());
    <a class="code" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2" title="Stores the current position of the iterator.">position</a>.<a class="code" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9" title="Changes the time value of this argument.">setTime</a>(pos.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>());
    <a class="code" href="a00213.html#a228df0793fb7486e617aeb9ba6540863" title="Stores the next position a call of &quot;next()&quot; would jump to.">nextPosition</a>.<a class="code" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9" title="Changes the time value of this argument.">setTime</a>(<a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.getNextPosition());
  }
</pre></div>
</div>
</div>
<a class="anchor" id="ac7a2b12c7ac068980d72b374d2ea4182"></a><!-- doxytag: member="TimeMappingIterator::jumpToBegin" ref="ac7a2b12c7ac068980d72b374d2ea4182" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::jumpToBegin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lets the iterator point to the begin of the mapping. </p>
<p>The beginning of the mapping is the smallest key entry in the <a class="el" href="a00110.html" title="Represents a std::map which is able to interpolate.">InterpolateableMap</a>.</p>
<p>Constant complexity. </p>

<p>Implements <a class="el" href="a00059.html#a6b6af19266855c21ce3e3449de3f0d6f">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2">TimeMappingIterator&lt; Interpolator &gt;::position</a>, <a class="el" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9">Argument::setTime()</a>, and <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                             {
    <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.jumpToBegin();
    <a class="code" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2" title="Stores the current position of the iterator.">position</a>.<a class="code" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9" title="Changes the time value of this argument.">setTime</a>(<a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.getPosition());
  }
</pre></div>
</div>
</div>
<a class="anchor" id="aa12e17f8a08312b3661671c1c2b6c4ea"></a><!-- doxytag: member="TimeMappingIterator::next" ref="aa12e17f8a08312b3661671c1c2b6c4ea" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::next </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Iterates to the next position of the function. </p>
<p>The next position is the next bigger key entry of the InterpoalteableMap.</p>
<p>This method has constant complexity. </p>

<p>Implements <a class="el" href="a00059.html#afdafa6870cd19b3d35674a7bc777585d">ConstMappingIterator</a>.</p>

<p>References <a class="el" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a">Argument::getTime()</a>, <a class="el" href="a00213.html#ac8e1d2adb44399eb29c4b0fc4f84a142">TimeMappingIterator&lt; Interpolator &gt;::isStepMapping</a>, <a class="el" href="a00213.html#a228df0793fb7486e617aeb9ba6540863">TimeMappingIterator&lt; Interpolator &gt;::nextPosition</a>, <a class="el" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2">TimeMappingIterator&lt; Interpolator &gt;::position</a>, <a class="el" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9">Argument::setTime()</a>, and <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                      {
    <span class="keywordflow">if</span>(<a class="code" href="a00213.html#ac8e1d2adb44399eb29c4b0fc4f84a142" title="Stores if this mapping represents a step function.">isStepMapping</a> &amp;&amp; !atPreStep){
      <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.iterateTo(<a class="code" href="a00213.html#a228df0793fb7486e617aeb9ba6540863" title="Stores the next position a call of &quot;next()&quot; would jump to.">nextPosition</a>.<a class="code" href="a00013.html#a2ecb3b041b5b8721d6767531e4ac792a" title="Returns the time value of this argument.">getTime</a>());
      atPreStep = <span class="keyword">true</span>;
    } <span class="keywordflow">else</span> {
      <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.next();
      atPreStep = <span class="keyword">false</span>;
    }
    <a class="code" href="a00213.html#af9dbee2a6ce9ba1d26d8e2cd82c413f2" title="Stores the current position of the iterator.">position</a>.<a class="code" href="a00013.html#a8087982f050bdc61d787b128ca9ac8f9" title="Changes the time value of this argument.">setTime</a>(<a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.getPosition());
    updateNextPos();
  }
</pre></div>
</div>
</div>
<a class="anchor" id="ac4eef2a5a0b2c899e270048c86d6ec66"></a><!-- doxytag: member="TimeMappingIterator::setValue" ref="ac4eef2a5a0b2c899e270048c86d6ec66" args="(argument_value_cref_t value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::setValue </td>
          <td>(</td>
          <td class="paramtype">argument_value_cref_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the value of the function at the current position. </p>
<p>This method has constant complexity. </p>

<p>References <a class="el" href="a00213.html#a178fa9015e993aa264bc1351b218431a">TimeMappingIterator&lt; Interpolator &gt;::valueIt</a>.</p>
<div class="fragment"><pre class="fragment">                                                     {
    <a class="code" href="a00213.html#a178fa9015e993aa264bc1351b218431a" title="Stores the current position iterator inside the Mapping.">valueIt</a>.setValue(value);
  }
</pre></div>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ac8e1d2adb44399eb29c4b0fc4f84a142"></a><!-- doxytag: member="TimeMappingIterator::isStepMapping" ref="ac8e1d2adb44399eb29c4b0fc4f84a142" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class Interpolator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00213.html">TimeMappingIterator</a>&lt; Interpolator &gt;::<a class="el" href="a00213.html#ac8e1d2adb44399eb29c4b0fc4f84a142">isStepMapping</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stores if this mapping represents a step function. </p>
<p>Assures that the steps are considered when iterating the mapping by adding a second key-entry as short as possible before every key entry set by the user. The additional key-entry defines the value the mapping has just before the key entry the user added. </p>

<p>Referenced by <a class="el" href="a00213.html#aa12e17f8a08312b3661671c1c2b6c4ea">TimeMappingIterator&lt; Interpolator &gt;::next()</a>, and <a class="el" href="a00213.html#a0bdf656d6e53fda33b555b0c100af6ff">TimeMappingIterator&lt; Interpolator &gt;::TimeMappingIterator()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>D:/Projects/MiXiM/extsrc/mixim/src/base/phyLayer/<a class="el" href="a00300_source.html">MappingUtils.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a00213.html">TimeMappingIterator</a>      </li>

    <li class="footer">Generated on Tue Mar 5 2013 21:26:33 for MiXiM by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
